package es.ugr.beequizz.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.MapsId;
import javax.persistence.OneToOne;
import javax.validation.constraints.NotNull;


@Entity
public class Pregunta {
	
	@Id
	private Long id;
	
	@NotNull
//	@Valid
	@OneToOne
	@MapsId
	@JoinColumn(name="asignatura_id")	
	private Asignatura asignatura;
	
	@NotNull
//	@Valid
	@OneToOne
	@MapsId
	@JoinColumn(name="dificultad_id")	
	private Dificultad dificultad;
	private Long puntuacion; 
	
	@NotNull
//	@Valid
	@OneToOne
	@MapsId
	@JoinColumn(name="usuario_id")	
	private Usuario creador;
	
	@Column(name="fecha_creacion")
	private Date fechaCreacion;
	
	@NotNull
//	@Valid
	@OneToOne
	@MapsId
	@JoinColumn(name="usuario_id")	
	private Usuario modificador;
	
	@Column(name="fecha_modificacion")
	private Date fechaModificacion;
	
	private String enunciado;
	
	private boolean valida;
	
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Asignatura getAsignatura() {
		return asignatura;
	}
	public void setAsignatura(Asignatura asignatura) {
		this.asignatura = asignatura;
	}
	public Dificultad getDificultad() {
		return dificultad;
	}
	public void setDificultad(Dificultad dificultad) {
		this.dificultad = dificultad;
	}
	public Long getPuntuacion() {
		return puntuacion;
	}
	public void setPuntuacion(Long puntuacion) {
		this.puntuacion = puntuacion;
	}
	public Usuario getCreador() {
		return creador;
	}
	public void setCreador(Usuario creador) {
		this.creador = creador;
	}
	public Date getFechaCreacion() {
		return fechaCreacion;
	}
	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}
	public Usuario getModificador() {
		return modificador;
	}
	public void setModificador(Usuario modificador) {
		this.modificador = modificador;
	}
	public Date getFechaModificacion() {
		return fechaModificacion;
	}
	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}
	public String getEnunciado() {
		return enunciado;
	}
	public void setEnunciado(String enunciado) {
		this.enunciado = enunciado;
	}
	public boolean isValida() {
		return valida;
	}
	public void setValida(boolean valida) {
		this.valida = valida;
	}
	
	

	
	
	
	

}
